Method and system for dynamically assigning domain identification in a multi-module fibre channel switch

ABSTRACT

A method for entering fabric configuration in a fibre channel system for a multi-module fibre channel switch is provided. The method includes determining if a primary blade has been selected for the multi-module switch; sending exchange fabric parameters to internal ports of the multi-module switch; and processing principal switch selection events.

CROSS REFERENCE TO RELATED APPLICATION

[0001] This application is related to U.S. patent Application entitled“METHOD AND SYSTEM FOR PRIMARY BLADE SELECTION IN A MULTI-MODULE FIBRECHANNEL SWITCH”, Attorney Docket No. QN1009.US, Ser. No. ______, havingcommon inventors and Assignee, filed on even date herewith, thedisclosure of which is incorporated herein by reference in its'entirety.

BACKGROUND

[0002] 1. Field of the Invention

[0003] The present invention relates to networking systems, and moreparticularly to systems using fibre channel fabrics for interconnectingfibre channel devices.

[0004] 2. Background of the Invention

[0005] Fibre channel is a set of American National Standard Institute(ANSI) standards which provide a serial transmission protocol forstorage and network protocols such as HIPPI, SCSI, IP, ATM and others.Fibre channel provides an input/output interface to meet therequirements of both channel and network users.

[0006] Fibre channel supports three different topologies:point-to-point, arbitrated loop and fibre channel fabric. Thepoint-to-point topology attaches two devices directly. The arbitratedloop topology attaches devices in a loop. The fibre channel fabrictopology attaches host systems directly to a fabric, which are thenconnected to multiple devices. The fibre channel fabric topology allowsseveral media types to be interconnected.

[0007] Fibre channel is a closed system that relies on multiple ports toexchange information on attributes and characteristics to determine ifthe ports can operate together. If the ports can work together, theydefine the criteria under which they communicate.

[0008] In fibre channel, a path is established between two nodes wherethe path's primary task is to transport data from one point to anotherat high speed with low latency, performing only simple error detectionin hardware. The fibre channel switch provides circuit/packet switchedtopology by establishing multiple simultaneous point-to-pointconnections.

[0009] Fibre channel fabric devices include a node port or “N_Port” thatmanages fabric connections. The N_port establishes a connection to afabric element (e.g., a switch) having a fabric port or F_port. Fabricelements include the intelligence to handle routing, error detection,recovery, and similar management functions.

[0010] A fibre channel switch is a multi-port device where each portmanages a simple point-to-point connection between itself and itsattached system. Each port can be attached to a server, peripheral, I/Osubsystem, bridge, hub, router, or even another switch. A switchreceives a connection request from one port and automaticallyestablishes a connection to another port. Multiple calls or datatransfers happen concurrently through the multi-port fibre channelswitch.

[0011] A fibre channel switch may use multiple modules (also referred toas “blades” or “blade”) connected by fibre channel ports.Conventionally, a multi-module switch should appear to the other devicesin the fibre channel fabric as a single switch.

[0012] Fibre channel switch addressing is defined by Fibre ChannelStandard FC-SW-2. Typically, a 24-bit identifier is used to uniquelyidentify a switch. The 24 bit address includes a 8-bit DomainIdentification (“Domain_ID.”) number; 8-bit Area Identifier (Area_ID)and 8-bit Port Identifer (Port_ID), as stated in FC-SW_(—)2 Section 4.8,incorporated herein by reference in its entirety.

[0013] Domain_ID identifies a domain of one or more switches that havethe same Domain_ID for all N_Ports and NL_Ports (an N_Port that canperform an Arbitrated Loop function). A domain in the fibre channelenvironment as defined by ANSI Standard X3.289-199X Fibre Channel-FabricGeneric Requirements (FC-FG), incorporated herein by reference in itsentirety, is the highest or most significant hierarchical level in athree-level addressing scheme. If there are more than one switch in aDomain, then each switch within the domain is directly connected via aninter-switch link (“ISL”) to at least another switch in the domain.

[0014] Conventional systems pre-define a Domain_ID when a fibre channelswitch is configured. Typically, a switch is assigned a Domain_ID theprocedures defined in FC-SW-2. However, if a multi-module switch needsto appear as a single switch to the rest of the Fabric, the Domain_IDassignment procedure must be such that a consistent interface isavailable within the fabric.

[0015] Current Fiber Channel standards do not provide a mechanism tocombine multiple switch modules into one switch.

[0016] Therefore, what is required is a process and system that candynamically assign Domain_ID after a primary blade in a multi-moduleswitch is selected.

[0017] SUMMARY OF THE INVENTION

[0018] In one aspect, the present invention solves the foregoingdrawbacks by providing a method for entering fabric configuration in afibre channel system for a multi-module fibre channel switch. The methodincludes determining if a primary blade has been selected for themulti-module switch; sending exchange fabric parameters to internalports of the multi-module switch; and processing principal switchselection events.

[0019] In another aspect of the present invention, a method forprocessing principal switch selection events in a fibre channel systemusing a multi-module fibre channel switch is provided. The methodincludes determining if a switch module has received exchange fabricparameters; determining if the switch module has received domainidentification values; sending domain identification values to allinternal ports; and operating as a non-principal switch if the switchmodule is also a primary blade.

[0020] The method also includes determining if a F_S_TOV timer hasexpired if no domain identification value is received; and operating asthe principal switch if the switch module is a primary blade and theF_S-TOV timer has expired.

[0021] In another aspect of the present invention, a method foroperating a principal switch in a fibre channel system using amulti-module switch is provided. The method includes sending exchangeblade parameters with a local domain assigned value to plural internalports in the switch module.

[0022] In yet another aspect, a method for operating a multi-moduleswitch as a non-principal switch in a fibre channel system is provided.The method includes requesting local domain identification values fromother modules; and sending exchange blade parameters with local domainassigned values to internal ports. The method includes isolating theswitch module if the local domain assignment value was unsuccessful.

[0023] In yet another aspect, a method for domain identification valueassignment for a multi-module switch in a fibre channel system isprovided. The method includes receiving exchange blade parameters withlocal domain value assigned; and sending domain identification valueassigned flags to external ports.

[0024] The method includes isolating external ports if the exchangeblade parameter has a rejected value for local domain assignment.

[0025] In one aspect of the present invention, Domain_ID may bedynamically assigned.

[0026] In another aspect of the present invention, a multi-module switchcan act as a principal switch, with the primary blade performingDomain_ID assignments for the multi-module switch and for other externalswitches. The multi-module switch can also operate as non-principalswitch, with the primary blade requesting a Domain_ID assignment onbehalf of the multi-module switch and informing the other modules of theassignment.

[0027] This brief summary has been provided so that the nature of theinvention may be understood quickly. A more complete understanding ofthe invention can be obtained by reference to the following detaileddescription of the preferred embodiments thereof concerning the attacheddrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0028] The foregoing features and other features of the presentinvention will now be described with reference to a fibre channelsystem. In the drawings, the same components have the same referencenumerals. The illustrated embodiment is intended to illustrate, but notto limit the invention. The drawings include the following Figures:

[0029]FIG. 1, as described above, shows a block diagram of a fibrechannel system using a fibre channel fabric;

[0030]FIG. 2 is a block diagram showing multi-module switch;

[0031]FIG. 3 is block diagram of a switch in a multi-module switchenvironment that can select a primary blade, according to one aspect ofthe present invention;

[0032]FIG. 4 is a process flow diagram of executable process steps forselecting a primary blade in a multi-module switch environment;

[0033]FIG. 5 is a flow diagram of a executable process steps forprocessing exchange blade parameters for selecting a primary blade,according to one aspect of the present invention;

[0034]FIG. 6 is a block diagram showing ISLs between plural multi-moduleswitches;

[0035]FIG. 7 is a process flow diagram of executable process steps forfabric configuration entry criteria for each blade, according to oneaspect of the present invention;

[0036]FIG. 8 is a process flow diagram of executable process steps forprincipal switch selection, according to one aspect of the presentinvention;

[0037]FIG. 9 is a process flow diagram of executable process steps forprimary blade and principal switch operation, according to one aspect ofthe present invention;

[0038]FIG. 10 is a process flow diagram of executable process steps forprimary blade, and non-principal switch operation, according to oneaspect of the present invention; and

[0039]FIG. 11 is a process flow diagram of executable process steps fornon-primary blade operation during Domain_ID address assignment,according to one aspect of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0040] Definitions:

[0041] The following definitions are provided as they are typically (butnot exclusively) used in the fibre channel environment, implementing thevarious adaptive aspects of the present invention.

[0042] a. “Blade”: A module in a multi-module fibre channel switch.

[0043] b. “Blade_ID”: A unique identifier for identifying a switchmodule.

[0044] c. “B_S_TOV Timer”: A timer to detect inactivity during primaryblade selection.

[0045] d. “E-Port”: Expansion port

[0046] e. “EBP”: Exchange Blade Parameters, created by a Multi-BladeProtocol.

[0047] f. “EFP”: Exchange Fabric Parameters as defined by FC-SW-2.

[0048] g. “Fibre channel ANSI Standard”: The standard describes thephysical interface, transmission and signaling protocol of a highperformance serial link for support of other high level protocolsassociated with IPI, SCSI, IP, ATM and others.

[0049] h. “FC-1”: Fibre channel transmission protocol, which includesserial encoding, decoding and error control.

[0050] i. “FC-2”: Fibre channel signaling protocol that includes framestructure and byte sequences.

[0051] j. “FC-3”: Defines a set of fibre channel services that arecommon across plural ports of a node.

[0052] k. “FC-4”: Provides mapping between lower levels of fibrechannel, IPI and SCSI command sets, HIPPI data framing, IP and otherupper level protocols.

[0053] l. “Fabric”: A system which interconnects various ports attachedto it and is capable of routing fibre channel frames by usingdestination identifiers provided in FC-2 frame headers.

[0054] m. “Fabric Topology” This is a typology where a device isdirectly attached to a fibre channel fabric that uses destinationidentifiers embedded in frame headers to route frames through a fibrechannel fabric to a desired destination.

[0055] n. F_S_TOV Timer: Defined by FC-SW-2, a time constant used toensure that fabric stability has been achieved during fabricconfiguration.

[0056] o. Multi Blade protocol: A protocol that operates on internalswitch module ports to assign a primary blade and exchange bladeparameters.

[0057] p. Port: A general reference to N. Sub.—Port or F. Sub.—Port.

[0058] q. “Slot Number”: A unique identifier for each blade in amulti-module switch derived from the physical location of the blade in achasis.

[0059] The Fibre Channel Specification used to build one embodiment ofthe present-invention includes:

[0060] FC-SW-2 standard as published by the American National StandardInstitute.

[0061] To facilitate an understanding of the preferred embodiment, thegeneral architecture and operation of a fibre channel system will bedescribed. The specific architecture and operation of the preferredembodiment will then be described with reference to the generalarchitecture of the fibre channel system.

[0062]FIG. 1 is a block diagram of a fibre channel system 100implementing the methods and systems in accordance with the adaptiveaspects of the present invention. System 100 includes plural devicesthat are interconnected. Each device includes one or more ports,classified as node ports (N_Ports), fabric ports (F_Ports), andexpansion ports (E_Ports). Node ports may be located in a node device,e.g. server 103, disk array 105 and storage device 104. Fabric ports arelocated in fabric devices such as switch 101 and 102. Arbitrated loop105 may be operationally coupled to switch 101 using arbitrated loopports (FL;Ports).

[0063] The devices of FIG. 1 are operationally coupled via “links” or“paths”. A path may be established between two N_ports, e.g. betweenserver 103 and storage 104. A packet-switched path may be establishedusing multiple links, e.g. an N-Port in server 103 may establish a pathwith disk array 105 through switch 102.

[0064] Switch 101 includes an E_Port that enables a path to anotherswitch 102. An ISL enables N_Ports to operationally couple to otherN-Ports in a fabric.

[0065]FIG. 2 is a block diagram that shows plural switch modules (orblades) 102A-102F integrated into a single multi-switch module 200.Internal ports between the switch modules operate on a multi-bladeprotocol, while external ports operate under FC-SW-2 protocol.

[0066]FIG. 3 is a block diagram of a blade in a multi-module switch,e.g. 102A that implement the adaptive aspects of the present invention.Switch module 102A includes plural external ports (F_Ports operationallycoupled to other devices, e.g. server 103; or E_Ports coupled to otherswitch modules) 300A through 300D; and internal ports 301A-301D thatoperate under the multi-blade protocol.

[0067] Switch module 102A also includes a primary blade state machine302 that uses EBPs under the multi-blade protocol to select the primaryblade for module 200.

[0068] Also included in switch module 102A is a principal switch statemachine 303 that processes principal switch selection and Domain IDassignment for the switch module.

[0069] Primary Blade Selection:

[0070]FIG. 4 shows a flow diagram of executable process steps forselecting a primary blade in a multi-module switch environment. In oneaspect of the present invention EBP parameters are used to select aprimary blade, and once a primary blade is selected other blades arenotified of the primary blade selection. A blade with the lowestpriority and slot number is selected as the primary blade. As definedabove, a slot number is unique to a particular blade (or switch module,used interchangeably throughout this specification).

[0071] Turning in detail to FIG. 4, in step S400 the process starts andswitch module 200 is initialized.

[0072] In step S401, retained primary blade priority and blade number isinitialized to the blade's priority and blade number.

[0073] In step S402, internal ports 301A-301D are initialized.

[0074] In step S403, a B_S-TOV timer is started and thereafter, in stepsS404, an EBP request is sent to all adjacent blades. In one aspect theB_S_TOV timer (not shown) is operationally coupled or integrated withstate machine 302.

[0075] An example of an EBP request is provided below: TABLE 1 EBPRequest Payload Byte Item Size Command Code = hex′ 82′ 1 Reserved 1Payload Length 2 Reserved 3 Primary Blade Priority 1 Reserved 3 PrimaryBlade Slot 1 Number Reserved 3 Primary Blade Assigned 1 Local Domain_IDStatus 1 Reserved 2 Local Domain_ID 1 Reserved 3 Switch Priority 1Design specific data N

[0076] Payload Length: This field may contain a 16-bit unsigned integerthat specifies the total payload length in bytes. This value ishex‘18’+size of design specific data.

[0077] Primary Blade Priority: This field specifies the priority levelof a blade that an EBP transmitting blade believes is the primary blade.

[0078] Primary Blade Slot Number: This field specifies the slot numberof the blade that the EBP transmitting blade believes is the primaryblade. This value uniquely identifies each blade in a switch derivedfrom the physical location of the module in a chassis.

[0079] Primary Blade Assigned: This field indicates that the primaryblade role is assigned. If zero, the primary blade has not beenselected. If non-zero, the primary blade has been selected. Table 2below shows an example of primary blade values. TABLE 2 Primary BladeAssigned Status value Comments 0 Unassigned. Primary blade selection isin progress. 1 Assigned. Primary blade role assigned.

[0080] Local Domain_ID Status: Indicates Domain_ID status of a blade.The primary blade is responsible for requesting a Domain_ID on behalf ofall blades. When Local Domain_ID status is two, blades are permitted totransmit Domain_ID assignment (“DIA”) requests on external E_Ports.Allowable values are shown in Table 3. TABLE 3 Local Domain_ID Statusvalue Comments 1 Predefined. Local Domain_ID was predefined byconfiguration data. 2 Accepted. Local Domain_ID has been granted byprincipal switch. 3 Accepted. Local Domain_ID has been granted byprincipal switch and fabric is in reconfiguration. 4 Rejected. LocalDomain_ID has been rejected by principal switch. 5 Rejected. LocalDomain_ID has been rejected by principal switch and fabric is inreconfiguration.

[0081] Local Domain_ID: This denotes a switch's local Domain_ID.

[0082] Switch Priority Value: This denotes a switch's priority asdefined by FC-SW-2.

[0083] In step S405, the process determines if all switch modules havereceived an EBP payload. If an EBP payload has been received, then theEBP is processed in step S406, as shown in the process steps of FIG. 5.If a primary blade has been selected, as determined in step S407, thelocal blade is set as a non-primary blade in step S408. If the primaryblade has not been selected, then the process moves back to step S405.

[0084] If an EBP is not received in step s405, then in step S405A, theprocess determines, if the B_S_TOV timer has expired. If the timer hasnot expired the process moves to step s405.

[0085] If the timer has expired, then in step S409, the processdetermines if the retained slot number is the local slot number. If not,the process moves to step s405.

[0086] If the retained slot number is the local slot number, then instep S410, the local blade is set as the primary blade.

[0087] In step S411, the primary blade sends EBPs to all internal portsand the selected blade operates as the primary blade in step S412.

[0088]FIG. 5 is a flow diagram of executable process steps thatdescribes processing of EBPs (step S406) for selecting a primary blade,according to one aspect of the present invention.

[0089] Turning in detail to FIG. 5, in step S500, EBP's are received andthe B_S_TOV timer is started.

[0090] In step S501, the EBP payload is analyzed by primary blade statemachine 302, to determine whether a primary blade flag is set. If it isset, then the process moves to step S503, where the EBP priority andslot number replaces the retained priority and slot number.

[0091] If the primary blade flag is not set in step S501, then in stepS502, the process determines if the EBP priority is less than theretained priority. If it is less, then the process moves to step S503.

[0092] If the EBP priority is not less than the retained priority, thenin step S506, the process determines if the EBP priority is equal to theretained priority. If not, the process terminates at step S508.

[0093] If the EBP priority is equal to the retained priority, then instep S507, the process determines if the EBP slot number is less thanthe retained slot number. If it is less, then the process moves to stepS503. If not, the process terminates at step S508.

[0094] Once the EBP priority and slot number are retained in step S503,in step S504 (similar to step S411), EBPs are sent to all internal portswith the selected primary blade and the process terminates in step S505.

[0095] Principal Switch and Domain ID Assignment:

[0096] A principal switch is selected whenever an external E_Port ISL isestablished.

[0097]FIG. 6 shows plural multi-module switches 200A-200D operationallycoupled to each other. Each multi-module switch has a primary blade thatmay be selected by the process discussed above. Each switch module(blade) has its own state machine. By following the process stepsdescribed below, the switch modules will appear to the rest of theFabric as a single switch. Non-multi-module switches use the processdefined by FC-SW-2.

[0098]FIG. 7 is a process flow diagram of executable process steps forswitch modules in a fabric to enter fabric configuration. In one aspectof the present invention, a primary blade is selected before theprincipal switch selection process is started. In a single blade switch,the only blade operates as the primary blade. A switch sends EFPs duringfabric configuration and inter-blade EFP exchange occurs at the sametime. A blade with external E_Port ISL can initiate principal switchselection on behalf of other blades and send EFPs. Other blades receiveEFPs on internal ports, signaling the start of principal switchselection. Each blade may also operate independently during EFPexchange.

[0099] Turning in detail to FIG. 7, in step S701, a switch module (e.g.200A) enters fabric configuration. The switch module waits in step S702for a primary blade to be selected, as described above. After primaryblade selection is complete in step S702, the process determines whetheran external E_Port is initialized in step S703.

[0100] If external E_Port ISL initialization is complete in step S703,the switch module initiates principal switch selection. In step S704, anEFP is sent to external E_Ports as specified in FC-SW-2 and in stepS707, EFPs are sent on all internal E_Ports to notify other switchmodules that principal switch selection has started.

[0101] If external E_Ports are not initialized in step S703, then instep S705, the process determines if an EFP has been received on aninternal port, before starting principal switch selection. In step S705,a switch module receiving an EFP on an internal port joins principalswitch selection, and in step S706 the EFPs are processed as specifiedin FC-SW-2.

[0102] In step S707, EFPs are sent on all internal E_Ports to notify allother switch modules that principal switch selection has started.

[0103] In step S708 each switch module initializes principal switchselection timer F_S_TOV as specified in FC-SW-2. The process then movesto the principal switch selection process in step S709, described belowwith respect to FIG. 8.

[0104]FIG. 8 is a flow diagram of executable process steps for principalswitch selection (step S709). The process starts when the principalswitch selection entry is completed in FIG. 7. After a principal switchis selected, each switch module transitions to one of three domainaddress assignment processes, described below.

[0105] Turning in detail to FIG. 8, in step S801 the principal switchselection events starts. Principal switch selection events are processedin steps S802, S804 and S809 until a principal switch is selected. Theevents include receipt of EFPS, DIA flags and expiration of F-S-TOVtimer. These events may be processed in any order.

[0106] If an EFP is received in step S802, the process moves to stepS803. In step S803, the EFP is processed as specified in FC-SW-2 forprincipal switch selection.

[0107] If an EFP is not received, then the process determines if a setDIA flag is received in step S804, signaling the end of principal switchselection. If the DIA flag is set then the switch module does not becomethe principal switch and the process moves to step S805.

[0108] In step S805, the process sends DIA flag values to internal portsto notify other switch modules that principal switch selection iscomplete. Other switch modules in step S804 receive DIA values sent instep S805.

[0109] In step S806, the process determines if the switch module is theprimary blade. If it is the primary blade then the process moves to stepS807 and the switch module operates as a non-principal switch, describedbelow with respect to FIG. 10.

[0110] In step S806, if the switch module is not the primary blade, theprocess moves to step S808 and the switch module operates as anon-primary blade during domain address assignment described below withrespect to FIG. 11.

[0111] If the DIA flag is not set in step S804, then in step S809, theprocess determines if the F-S_TOV timer has expired. If F_S_TOV timerexpires in step S809, the switch module may become the principal switch.

[0112] In step S810, the process determines if the switch module is theprimary blade. If yes, then in step S811, the process determines if theswitch module is the principal switch. The process compares the switch'sworldwide name with the principal switch's worldwide name discovered instep S803. If either step S810 or S811 is false, the process resumeswait for the next event. If the switch module is the principal switch instep S811, then the process moves to step S812 and the switch moduleoperates as the principal switch described below with respect to FIG. 9.

[0113]FIG. 9 is a process flow diagram of executable process steps for aprimary blade that operates as a principal switch (step S812, FIG. 8).In addition to standard FC-SW-2 operations, the primary blade sends theswitch's local Domain_ID status to non-primary blades.

[0114] Turning in detail to FIG. 9, in step S901, a primary bladeoperates as the principal switch.

[0115] In step S902, the primary blade assigns the local switchDomain_ID as specified in FC-SW-2, including sending DIA flags toexternal E_Ports and internal ports. It is noteworthy that non-primaryblades at step S804 receive the DIA flags.

[0116] In step S903, an EBP with this switch's local Domain_ID andstatus is sent to all non-primary blades. Other non-primary blades atstep S1102, as described below, also receive these EBPs.

[0117] In step S904, the switch continues to operate as the principalswitch as specified in FC-SW-2.

[0118]FIG. 10 is a process flow diagram of executable process steps fora primary blade that operates as a non-principal switch. In addition tostandard FC-SW-2 operations, the primary blade sends this switch's localDomain_ID and status to non-primary blades.

[0119] Turning in detail to FIG. 10, in step S1001, a primary bladeoperates as a non-principal switch.

[0120] In step S1002, the primary blade requests a local switchDomain_Id as specified in FC-SW-2.

[0121] In step S1003, the process verifies if the local Domain_IDrequest is successful, and if successful, the process moves to stepS1004.

[0122] In step S1004, an EBP with the switch's local Domain_ID andstatus flag is sent to all non-primary blades. Other non-primary bladesat step S1102 also receive these EBPs.

[0123] In step S1005, the switch continues to operate as a non-principalswitch, as specified in FC-SW-2, and sends DIA information to externalE_Ports and internal ports.

[0124] Returning to step S1003, if the local Domain_ID request isunsuccessful then the process moves to step S1006. In step S1006, EBPswith the switch's local Domain_ID and status flags are sent to allnon-primary blades. Other non-primary blades at step S1104 receive theseEBPs. Thereafter, in step S1007, external E-port ISLs are isolated perFC-SW-2.

[0125]FIG. 11 is a process flow diagram of executable process steps fora non-primary blade during Domain_ID assignment (S808). The non-primaryblade waits until this switch's local Domain_ID and status flags arereceived from the primary blade.

[0126] Turning in detail to FIG. 11, in step S1101, a non-primary blademoves to Domain_ID assignment. The non-primary blade waits for an EBPindicating that the local switch Domain_ID is either accepted in stepS1102 or rejected in steps S1104. When the local switch domain isaccepted in step S1102, the switch module operates with the EBP localswitch Domain_ID.

[0127] In step S1103, the switch module sends DIA information toexternal E-Port ISLs to notify neighboring switches as specified inFC-SW-2.

[0128] When the local switch domain is rejected in step S1104, theswitch module operates with the EBP local switch Domain_ID and in stepS1105, the switch module isolates external E-Ports.

[0129] In one aspect of the present invention, Domain_ID may bedynamically assigned.

[0130] In another aspect of the present invention, a multi-module switchcan act as a principal switch, with the primary blade performingDomain_ID assignment for the multi-module switch and for other externalswitches. The multi-module switch can also operate as non-principalswitch, with the primary blade requesting a Domain_ID assignment onbehalf of the multi-module switch and informing the other modules of theassignment.

[0131] Although the present invention has been described with referenceto specific embodiments, these embodiments are illustrative only and notlimiting. Many other applications and embodiments of the presentinvention will be apparent in light of this disclosure and the followingclaims

What is claimed is:
 1. A method for entering fabric configuration in afibre channel system for a multi-module fibre channel switch,comprising: determining if a primary blade has been selected for themulti-module switch; sending exchange fabric parameters to internalports of the multi-module switch; and processing principal switchselection events.
 2. A method for processing principal switch selectionevents in a fibre channel system using a multi-module fibre channelswitch, comprising: determining if exchange fabric parameters have beenreceived by a switch module; determining if domain identification valueshave been received by the switch module; sending domain identificationvalues to all internal ports; and operating as a non-principal switch ifthe switch module is also a primary blade.
 3. The method for claim 2,further comprising: determining if a F_S_TOV timer has expired if nodomain identification value is received; and operating as the principalswitch if the switch module is a primary blade and the F_S-TOV timer hasexpired.
 3. The method of claim 2, further comprising: assigning theswitch module as a non-primary blade if the domain identification valueis received by the switch module and the switch module is not a primaryblade.
 4. A method for operating a principal switch in a fibre channelsystem using a multi-module switch, comprising: sending exchange bladeparameters with a local domain assigned value to plural internal portsin the switch module.
 5. A method for operating a multi-module switch asa non-principal switch in a fibre channel system, comprising: requestinglocal domain identification values from other modules; and sendingexchange blade parameters with local domain assigned values to internalports.
 6. The method of claim 5, further comprising: isolating theswitch module if the local domain assignment value was unsuccessful. 7.A method for domain identification value assignment for a multi-moduleswitch in a fibre channel system, comprising: receiving exchange bladeparameters with local domain value assigned; and sending domainidentification value assigned flags to external ports.
 8. The method ofclaim 7, further comprising: isolating external ports if the exchangeblade parameter has a rejected value for local domain assignment.